Modification start date
[BattleCats.git] / Assets / Scripts / UI Scripts / MenuManager.cs
blob9a8afce6f159130ac8b2c5761e93129d44857e84
1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEngine;
4 using UnityEngine.UI;
5 using UnityEngine.SceneManagement;
6 using UnityEngine.Audio;
9 public class MenuManager : MonoBehaviour {
12 public AudioMixer masterMixer;
14 private AudioSource[] menuSound;
15 private AudioSource menuMusic;
16 private AudioSource menuSel;
17 private Scene m_Scene;
18 private GameObject[] menuManagers;
20 private float timestamp;
21 private float musicFadeTimer;
22 private bool fadeMusic;
23 private bool isMaster;
25 void Start()
27 menuSound = GetComponents<AudioSource> ();
28 menuMusic = menuSound [0];
29 menuSel = menuSound [1];
30 m_Scene = SceneManager.GetActiveScene ();
31 DontDestroyOnLoad (menuSel);
32 fadeMusic = false;
33 isMaster = false;
34 menuManagers = GameObject.FindGameObjectsWithTag ("MenuManager");
35 //creates a singleton style MenuManager
36 if (m_Scene.name == "MainMenu" && menuManagers.Length == 1) {
37 DontDestroyOnLoad (this.gameObject);
38 DontDestroyOnLoad (menuMusic);
39 menuMusic.Play ();
40 isMaster = true;
42 } else {
43 Destroy (gameObject);
47 void Update()
49 if (fadeMusic)
51 menuMusic.volume = menuMusic.volume - 0.025f;
52 if (Time.time - timestamp > musicFadeTimer) {
53 fadeMusic = false;
54 menuMusic.Stop ();
60 public void GoToMainMenu()
62 menuSel.Play ();
63 SceneManager.LoadScene ("MainMenu");
66 public void GoToCharacterSelection()
68 menuSel.Play ();
69 SceneManager.LoadScene ("CharacterSelection");
72 public void GoToLevelSelection()
74 menuSel.Play();
75 SceneManager.LoadScene("LevelSelection");
78 public void GoToLevel0()
80 menuSel.Play ();
81 SceneManager.LoadScene("Level0");
84 public void GoToLevel1()
86 menuSel.Play ();
87 SceneManager.LoadScene("Level1");
90 public void GoToLevel2()
92 menuSel.Play();
93 SceneManager.LoadScene("Level2");
96 public void GoToSettings()
98 menuSel.Play ();
99 SceneManager.LoadScene("Settings");
102 public void GoToInstructions()
104 menuSel.Play ();
105 SceneManager.LoadScene("Instructions");
108 public void GoToCredits()
110 menuSel.Play ();
111 SceneManager.LoadScene("Credits");
115 public void ExitGame()
117 Application.Quit();
120 public void UpdateMasterValue(Slider slider)
122 masterMixer.SetFloat("MasterLevel", slider.value);
123 //Set master value
126 public void UpdateAmbientValue(Slider slider)
128 masterMixer.SetFloat("AmbientLevel", slider.value);
129 //Set Ambient value
132 public void UpdateSFXValue(Slider slider)
134 masterMixer.SetFloat("SFXLevel", slider.value);
135 //Set SFX Volume
138 public void StartMenuMusic()
140 menuMusic.volume = 1f;
141 menuMusic.Play ();
144 public void PlayMenuSel(){
145 menuSel.Play ();
148 public bool IsMaster()
150 return isMaster;
153 public void StopMenuMusic()
155 fadeMusic = true;
156 timestamp = Time.time;
157 musicFadeTimer = 1.5f;
160 public bool IsMenuMusicPlaying()
162 return menuMusic.isPlaying;